package com.by.rpc.annotation;

import java.lang.annotation.*;

/**
 * RPC服务引用注解，用于标记需要注入的远程服务代理
 * 该注解用于内部服务间的调用，通过服务发现机制获取服务实例
 */
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RpcReference {
    /**
     * 服务接口类
     */
    Class<?> interfaceClass() default void.class;

    /**
     * 服务版本号
     */
    String version() default "1.0.0";

    /**
     * 服务分组
     */
    String group() default "default";

    /**
     * 调用超时时间(毫秒)
     */
    int timeout() default 3000;
}